home *** CD-ROM | disk | FTP | other *** search
- /** Class DataCollection
- Description : Implement the object used for data collections like: manufacturer, sales, shipping
- */
- function NOF_DataCollection() {
- this.__proto__ = NOF_DataCollection.prototype;
- this.SUPER ();
- this.selected = null;
- this.selectedIndex = -1;
- }
- NOF_DataCollection.inherits( NOF.UTIL.ArrayList );
- function NOF_DataCollection_ProtoBuilder() {
- var method = NOF_DataCollection.prototype;
-
- method.load = function load() {
- // load from FSI
- NOF.Contract.Assert( false, "Load needs to be implemented." );
- }
-
- method.save = function save() {
- // save
- NOF.Contract.Assert( false, "Save needs to be implemented." );
- /*
- for (var i=0;i<this._list.length;i++) {
- alert ("List elem:"+this._list[i]);
- }
- */
- }
-
- method.getListElements = function getListElements () {
- return this.toArray();
- }
-
- method.setListElements = function setListElements (list) {
- this._list = list;
- }
-
- method.clearCollection = function clearCollection () {
- this.clear();
- this.selected = null;
- this.selectedIndex = -1;
- }
-
- method.addElementToList= function addElementToList () {
- //debugger;
- var id = this._list.length;
- var newObject = this.getNewElement(id, arguments);
- //log.info("Datacollection.addElementToList " + newObject);
- this.add(id, newObject);
- return newObject;
- }
-
- method.getNewElement = function getNewElement (id) {
- return id;
- }
-
- method.removeElementFromList = function removeElementFromList (element) {
- var index = this.getIndex(element);
- if (index != -1 ) {
- this.remove(index);
- return true;
- }
- return false;
- }
-
- method.isCaseSensitive = function isCaseSensitive () { return false };
-
- method.getIndexByField = function getIndexByField (fieldName, fieldValue) {
- if (this._list != null) {
- for (var i=0;i<this._list.length;i++) {
- var value = eval('this._list[i].'+fieldName);
- if (value == fieldValue) {
- return i;
- }
- }
- }
- return -1;
- }
-
- method.getByField = function getByField (fieldName, fieldValue) {
- var index = this.getIndexByField (fieldName, fieldValue);
- if (index != -1)
- return this.get(index);
- return null;
- }
-
- method.setSelectedByElement = function setSelectedByElement (elem) {
- var index = this.getIndex(elem);
- this.setSelectedByIndex (index);
- }
-
- method.setSelectedById = function setSelectedById (id) {
- this.setSelectedByField ("id", id);
- }
-
- method.setSelectedByField = function setSelectedByField (fieldName, fieldValue) {
- var index = this.getIndexByField(fieldName, fieldValue);
- if (index != -1)
- this.setSelectedByIndex (index);
- }
-
- method.setSelectedByIndex = function setSelectedByIndex (index) {
- if (this._list != null) {
- if (index < this._list.length) {
- this.selectedIndex = index;
- this.selected = this._list[index];
- }
- }
- }
-
- method.getSelected = function getSelected () {
- return this.selected;
- }
-
- method.getSelectedIndex = function getSelectedIndex() {
- return this.selectedIndex;
- }
- method.setSelectedIndex = function setSelectedIndex(index) {
- this.setSelectedByIndex(index);
- }
- }
-
- NOF_DataCollection_ProtoBuilder();
- NOF.__proto__.DataCollection = NOF_DataCollection;
-